

--- cadastrar tributacao

--migração de seções
set identity_insert BancoGerencial..Secao on
insert into BancoGerencial..Secao(
Codigo,
Descricao,
DataHoraUltimaGravacao,
UsuarioUltimaGravacao)
select 
sec.Codigo_sec,
rtrim(ltrim(sec.Descricao_sec)),
GETDATE(),
'MIGRAÇÃO'
from Dados_db..Secoes_tb as sec
set identity_insert BancoGerencial..Secao off

--migração de produtos
set identity_insert BancoGerencial..Produto on
insert into BancoGerencial..Produto(
Codigo,
Descricao, 
CodSecao, 
Unidade, 
NCM, 
ProdutoBal, 
TipoBalanca, 
CodigoBalanca,
DescricaoBalanca,
Ativo, 
PermiteDecimal, 
DescricaoResumida)
select 
prd.Codigo_prd,
rtrim(ltrim(prd.Descricao_prd)), 
prd.Codigo_sec, 
prd.Unidade_prd, 
prd.ClassFiscal_prd,
prd.Balanca_prd, 
'P', 
prd.CodigoBal_prd,
rtrim(ltrim(substring(prd.DescricaoRed_prd,1,22))),
'S', 
prd.PermiteDecimal_prd, 
rtrim(ltrim(prd.DescricaoRed_prd))
from Dados_db..Produtos_tb as prd
--where prd.Codigo_prd > 1
set identity_insert BancoGerencial..Produto off


-- insere tributação
update BancoGerencial..Produto
set CodTributacao = OutraTabela.Codigo_gTr
from (select Codigo_prd, Codigo_gTr from Dados_db..ProdutosTributacao_tb) as OutraTabela
where OutraTabela.Codigo_prd = Produto.Codigo

-- atualiza o nome da tributação
update Produto
set NomeTributacao = trib.Descricao
from (select Codigo, Descricao from TributacaoC) as Trib
where trib.Codigo = Produto.CodTributacao;

-- atualiza a descrição do ncm
update Produto
set DescricaoNCM = SUBSTRING(n.Descricao, 1,160)
from (select * from NCM) as n
where n.NCM = Produto.NCM

--atualiza a descrição da seção
update Produto
set NomeSecao = sec.Descricao
from (select Codigo, Descricao from Secao) as sec
where sec.Codigo = Produto.CodSecao

--inserer ProdutoEstoque
insert into ProdutoEstoque(
CodProduto, CodEmp, EstoqueAtual, EstoqueCongelado)
select
prd.Codigo_prd, 1, prd.EstoqueReal_prd, 'N'
from Dados_db..EstoquePorLocal_tb as prd


--insere estoque movimentações
insert into Estoque(
CodProduto, TipoMovimento, Quantidade, Entrada, Venda, CodEmp, Data, Observacao)
select
prd.Codigo_prd, 'E', prd.EstoqueReal_prd, 0, 0, 1, GETDATE(), 'MIGRAÇÃO'
from Dados_db..EstoquePorLocal_tb as prd
where prd.EstoqueReal_prd > 0



-- insere CEST
update NCM
set CEST = CEST_ncm
from (select codigo_ncm, CEST_ncm from Dados_db..NCM_tb) as ncmoutro
where NCM = ncmoutro.Codigo_NCM

-- insere preço
insert into BancoGerencial..ProdutoPreco(
CodProduto,
CodEmp,
PrecoCusto,
PrecoVenda,
PrecoVendaPrazo
)
select 
prd.Codigo_prd,
1,
prd.PrecoCusto_prd,
prd.PrecoVenda_prd,
prd.PrecoVendaPrazo_prd
from Dados_db..ProdutosPreco_tb as prd
where prd.codigo_emp = 1

delete Produto where Codigo = -10


--inserer EAN
insert into EAN(
EAN, CodProduto)
select
prd.Ean_prd, prd.Codigo_prd
from Dados_db..EanPrd_tb as prd

delete EAN where CodProduto = -10

update ProdutoPreco set PrecoPromocao = 0, DataInicioPromocao = '1900-01-01', DataFimPromocao = '1900-01-01', DiferencaGelado = 0;

update ProdutoEstoque set EstoqueMinimo = 0, EstoqueMaximo = 0


update Produto
set Ativo = 'N'
from (select Codigo_prd, ProdutoInativo_prd from Dados_db..Produtos_tb) as n
where n.Codigo_prd = Produto.Codigo and n.ProdutoInativo_prd = 'S'

---ACERTA GELADO
update ProdutoPreco 
set DiferencaGelado = preco
from (SELECT PrecoVenda_prd * AcrescGelado_prd / 100  as preco, Codigo_prd, AcrescGelado_prd
FROM Dados_db..ProdutosPreco_tb WHERE codigo_emp = 1) as lck
where lck.Codigo_prd = ProdutoPreco.CodProduto and lck.AcrescGelado_prd > 0

-- atualiza cidades
update Cliente
set CodCidade = n.Codigo_cid, NomeCidade = n.Cidade_cli
from (select * from dados_db..Clientes_tb) as n
where n.Codigo_cli = Codigo
